<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Development Philosophy &mdash; Requests 2.3.0 documentation</title>
    
    <link rel="stylesheet" href="../_static/flasky.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.3.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="top" title="Requests 2.3.0 documentation" href="../index.html" />
    <link rel="next" title="How to Help" href="todo.html" />
    <link rel="prev" title="Developer Interface" href="../api.html" />
   
  
  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
  <script type="text/javascript" src="https://gumroad.com/js/gumroad.js"></script>

  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="todo.html" title="How to Help"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="../api.html" title="Developer Interface"
             accesskey="P">previous</a> |</li>
        <li><a href="../index.html">Requests 2.3.0 documentation</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="development-philosophy">
<h1>Development Philosophy<a class="headerlink" href="#development-philosophy" title="Permalink to this headline">¶</a></h1>
<p>Requests is an open but opinionated library, created by an open but opinionated developer.</p>
<div class="section" id="management-style">
<h2>Management Style<a class="headerlink" href="#management-style" title="Permalink to this headline">¶</a></h2>
<p><a class="reference external" href="http://kennethreitz.org">Kenneth Reitz</a> is the BDFL. He has final say in any decision related to the Requests project. Kenneth is responsible for the direction and form of the library. In addition to making decisions based on technical merit, he is responsible for making decisions based on the development philosophy of Requests. Only Kenneth may merge code into Requests.</p>
<p><a class="reference external" href="http://www.coglib.com/~icordasc/">Ian Cordasco</a> and <a class="reference external" href="https://lukasa.co.uk/about/">Cory Benfield</a> are the core contributors. They are responsible for triaging bug reports, reviewing pull requests and ensuring that Kenneth is kept up to speed with developments around the library. The day-to-day managing of the project is done by the core contributors. They are responsible for making judgements about whether or not a feature request is likely to be accepted by Kenneth. They do not have the authority to change code or merge code changes, though they may change documentation. Their word is not final.</p>
</div>
<div class="section" id="values">
<h2>Values<a class="headerlink" href="#values" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Simplicity is always better than functionality.</li>
<li>Listen to everyone, then disregard it.</li>
<li>The API is all that matters. Everything else is secondary.</li>
<li>Fit the 90% use-case. Ignore the nay-sayers.</li>
</ul>
</div>
<div class="section" id="semantic-versioning">
<h2>Semantic Versioning<a class="headerlink" href="#semantic-versioning" title="Permalink to this headline">¶</a></h2>
<p>For many years, the open source community has been plagued with version number dystonia. Numbers vary so greatly from project to project, they are practically meaningless.</p>
<p>Requests uses <a class="reference external" href="http://semver.org">Semantic Versioning</a>. This specification seeks to put an end to this madness with a small set of practical guidelines for you and your colleagues to use in your next project.</p>
</div>
<div class="section" id="standard-library">
<h2>Standard Library?<a class="headerlink" href="#standard-library" title="Permalink to this headline">¶</a></h2>
<p>Requests has no <em>active</em> plans to be included in the standard library. This decision has been discussed at length with Guido as well as numerous core developers.</p>
<p>Essentially, the standard library is where a library goes to die. It is appropriate for a module to be included when active development is no longer necessary.</p>
<p>Requests just reached v1.0.0. This huge milestone marks a major step in the right direction.</p>
</div>
<div class="section" id="linux-distro-packages">
<h2>Linux Distro Packages<a class="headerlink" href="#linux-distro-packages" title="Permalink to this headline">¶</a></h2>
<p>Distributions have been made for many Linux repositories, including: Ubuntu, Debian, RHEL, and Arch.</p>
<p>These distributions are sometimes divergent forks, or are otherwise not kept up-to-date with the latest code and bugfixes. PyPI (and its mirrors) and GitHub are the official distribution sources; alternatives are not supported by the Requests project.</p>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper"><p class="logo">
  <a href="../index.html">
    <img class="logo" src="../_static/requests-sidebar.png" title="Rezzy the Requests Sea Turtle"/>
  </a>
</p>
<p>
<iframe src="http://ghbtns.com/github-btn.html?user=kennethreitz&repo=requests&type=watch&count=true&size=large"
  allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
</p>

<p>
  Requests is an elegant and simple HTTP library for Python, built for
  human beings. You are currently looking at the documentation of the
  development release.
</p>


<h3>Donate</h3>
 <p>
     If you love Requests, consider supporting the author <a href="https://www.gittip.com/kennethreitz/">on Gittip</a>:
 </p>
 <p>
   <iframe style="border: 0; margin: 0; padding: 0;"
       src="https://www.gittip.com/kennethreitz/widget.html"
       width="48pt" height="20pt"></iframe>
 </p>

<h3>Get Updates</h3>
<p>Receive updates on new releases and upcoming projects.</p>

<p><a href="http://tinyletter.com/kennethreitz">Subscribe to Newsletter</a></p>


  <h3><a href="../index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Development Philosophy</a><ul>
<li><a class="reference internal" href="#management-style">Management Style</a></li>
<li><a class="reference internal" href="#values">Values</a></li>
<li><a class="reference internal" href="#semantic-versioning">Semantic Versioning</a></li>
<li><a class="reference internal" href="#standard-library">Standard Library?</a></li>
<li><a class="reference internal" href="#linux-distro-packages">Linux Distro Packages</a></li>
</ul>
</li>
</ul>
<h3>Related Topics</h3>
<ul>
  <li><a href="../index.html">Documentation overview</a><ul>
      <li>Previous: <a href="../api.html" title="previous chapter">Developer Interface</a></li>
      <li>Next: <a href="todo.html" title="next chapter">How to Help</a></li>
  </ul></li>
</ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="footer">
      &copy; Copyright 2014. A <a href="http://kennethreitz.com/pages/open-projects.html">Kenneth Reitz</a> Project.
    </div>
    <a href="https://github.com/kennethreitz/requests" class="github">
        <img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"  class="github"/>
    </a>
    <script type="text/javascript">
    /* <![CDATA[ */
        (function() {
            var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
            s.type = 'text/javascript';
            s.async = true;
            s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
            t.parentNode.insertBefore(s, t);
        })();
    /* ]]> */
    </script>
        <script type="text/javascript">
    setTimeout(function(){var a=document.createElement("script");
    var b=document.getElementsByTagName("script")[0];
    a.src=document.location.protocol+"//dnn506yrbagrg.cloudfront.net/pages/scripts/0013/7219.js?"+Math.floor(new Date().getTime()/3600000);
    a.async=true;a.type="text/javascript";b.parentNode.insertBefore(a,b)}, 1);
    </script>

    <script type="text/javascript">
        new HelloBar(36402,48802);
    </script>


    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-8742933-11']);
      _gaq.push(['_setDomainName', 'none']);
      _gaq.push(['_setAllowLinker', true]);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>

    <script type="text/javascript">
      (function() {
        var t   = document.createElement('script');
        t.type  = 'text/javascript';
        t.async = true;
        t.id    = 'gauges-tracker';
        t.setAttribute('data-site-id',
                       '4ddc27f6613f5d186d000007');
        t.src = '//secure.gaug.es/track.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(t, s);
      })();
    </script>
  </body>
</html>